เปลี่ยนไปสู่การรู้จำภาพด้วยคอมพิวเตอร์
วันนี้เราเปลี่ยนจากจัดการข้อมูลโครงสร้างง่าย ๆ โดยใช้เลเยอร์เชิงเส้นพื้นฐาน มาสู่การจัดการข้อมูลภาพมิติสูง ภาพสีเพียงภาพเดียวทำให้เกิดความซับซ้อนอย่างมาก ซึ่งสถาปัตยกรรมมาตรฐานไม่สามารถจัดการได้อย่างมีประสิทธิภาพ การเรียนรู้เชิงลึกสำหรับงานด้านภาพต้องใช้วิธีเฉพาะเจาะจง: เครือข่ายประสาทเทียมแบบคอนโวลูชัน (CNN)។
1. เหตุผลที่เครือข่ายที่เชื่อมโยงทุกจุด (FCN) ล้มเหลว
ในเครือข่ายที่เชื่อมโยงทุกจุด (FCN) ทุกพิกเซลของข้อมูลนำเข้าต้องเชื่อมต่อไปยังนิวรอนทุกตัวในเลเยอร์ถัดไป สำหรับภาพที่มีความละเอียดสูง ทำให้เกิดการระเบิดทางคำนวณ จนการฝึกอบรมกลายเป็นไปไม่ได้ และการทั่วไป (generalization) แย่ลงเนื่องจากเกิดการโอเวอร์ฟิตสูงมาก
- มิติของข้อมูลนำเข้า:ภาพสีมาตรฐานขนาด $224 \times 224$ จะได้คุณสมบัติข้อมูลนำเข้าจำนวน $150,528$ ค่า ($224 \times 224 \times 3$)
- ขนาดเลเยอร์ซ่อน:หากเลเยอร์ซ่อนแรกใช้นิวรอนจำนวน 1,024 ตัว
- จำนวนพารามิเตอร์รวม (เลเยอร์ที่ 1):ประมาณ $154$ ล้านพารามิเตอร์ (ค่าคงที่ $150,528 \times 1024$) เพียงแค่สำหรับบล็อกการเชื่อมต่อครั้งแรก ซึ่งต้องการหน่วยความจำและเวลาคำนวณจำนวนมาก
แนวทางแก้ไขของ CNN
CNN แก้ปัญหาการขยายตัวของ FCN โดยใช้ประโยชน์จากโครงสร้างพื้นที่ของภาพ มันระบุรูปแบบ (เช่น ขอบหรือโค้ง) โดยใช้ฟิลเตอร์ขนาดเล็ก ลดจำนวนพารามิเตอร์ลงหลายเท่า และส่งเสริมความทนทาน
เทอร์มินัลbash — model-env
> พร้อมแล้ว คลิก "รัน" เพื่อเริ่มทำงาน
>
เครื่องมือตรวจสอบประสิทธิภาพของพารามิเตอร์สด
รันการเปรียบเทียบเพื่อดูจำนวนพารามิเตอร์
คำถามที่ 1
ข้อได้เปรียบหลักของการใช้สนามรับรู้ท้องถิ่นใน CNN คืออะไร?
คำถามที่ 2
หากใช้ฟิลเตอร์ขนาด $3 \times 3$ ครอบคลุมภาพทั้งหมด แนวคิดหลักของ CNN ที่ถูกใช้คืออะไร?
คำถามที่ 3
ส่วนประกอบใดของ CNN ที่รับผิดชอบในการลดขนาดพื้นที่ (ความกว้างและความสูง) ของแผนภาพลักษณะ (feature maps) ทีละขั้น?
ภารกิจ: ระบุส่วนประกอบสำคัญของ CNN
เชื่อมโยงกลไกของ CNN กับประโยชน์เชิงหน้าที่
เราต้องสร้างโมเดลการรู้จำภาพที่มีประสิทธิภาพด้านพารามิเตอร์สูงมาก และสามารถระบุวัตถุได้ แม้ว่าจะเลื่อนตำแหน่งเล็กน้อยในภาพ
ขั้นตอนที่ 1
กลไกใดที่รับประกันว่าเครือข่ายสามารถระบุลักษณะ (เช่น เส้นทแยงมุม) ได้ ไม่ว่าจะอยู่ที่ไหนในเฟรม?
คำตอบ:
น้ำหนักที่แบ่งปันกัน โดยการใช้ฟิลเตอร์เดียวกันทั่วทั้งตำแหน่ง ทำให้เครือข่ายเรียนรู้ความไม่ขึ้นกับการเลื่อนตำแหน่ง
น้ำหนักที่แบ่งปันกัน โดยการใช้ฟิลเตอร์เดียวกันทั่วทั้งตำแหน่ง ทำให้เครือข่ายเรียนรู้ความไม่ขึ้นกับการเลื่อนตำแหน่ง
ขั้นตอนที่ 2
การเลือกสถาปัตยกรรมใดที่ทำให้ CNN ตรวจจับลักษณะได้ด้วยพารามิเตอร์น้อยกว่า FCN?
คำตอบ:
สนามรับรู้ท้องถิ่น (หรือการเชื่อมต่อแบบเบาบาง) แทนที่จะเชื่อมต่อทุกพิกเซล แต่แต่ละนิวรอนจะเชื่อมต่อกับพื้นที่เล็ก ๆ ที่ตั้งอยู่ในข้อมูลนำเข้าเท่านั้น
สนามรับรู้ท้องถิ่น (หรือการเชื่อมต่อแบบเบาบาง) แทนที่จะเชื่อมต่อทุกพิกเซล แต่แต่ละนิวรอนจะเชื่อมต่อกับพื้นที่เล็ก ๆ ที่ตั้งอยู่ในข้อมูลนำเข้าเท่านั้น
ขั้นตอนที่ 3
โครงสร้างของ CNN นำไปสู่การเรียนรู้ลักษณะแบบลำดับชั้นอย่างไร (เช่น ขอบ $\to$ มุม $\to$ วัตถุ)?
คำตอบ:
เลเยอร์ที่ซ้อนกัน เลเยอร์ชั้นแรกเรียนรู้ลักษณะง่าย ๆ (เช่น ขอบ) โดยใช้การคอนโวลูชัน เลเยอร์ลึกกว่าจะรวมเอาผลลัพธ์จากเลเยอร์ก่อนหน้าเพื่อสร้างลักษณะที่ซับซ้อนและเป็นนามธรรม (เช่น วัตถุ)
เลเยอร์ที่ซ้อนกัน เลเยอร์ชั้นแรกเรียนรู้ลักษณะง่าย ๆ (เช่น ขอบ) โดยใช้การคอนโวลูชัน เลเยอร์ลึกกว่าจะรวมเอาผลลัพธ์จากเลเยอร์ก่อนหน้าเพื่อสร้างลักษณะที่ซับซ้อนและเป็นนามธรรม (เช่น วัตถุ)